GXPostScriptGetDocumentProcSetList
QuickDraw GX sends theGXPostScriptGetDocumentProcSetList
message at the start of imaging for a docuemtn to determine which procedure sets are needed for the document. You can override theGXPostScriptGetDocumentProcSetList
message to retrieve information about those procedure sets. Your override of theGXPostScriptGetDocumentProcSetList
message must match the following formal declaration:
OSErr MyPostScriptGetDocumentProcSetList ( gxProcSetListHdl procSetListHdl, gxPostScriptImageDataHandle hImageData);
procSetListHdl
- On entry, a handle to a preallocated PostScript procedure set list structure. On return, a value that specifies the procedure sets needed to image the document.
hImageData
- A handle to the PostScript imaging system structure.
- function result
- An error code. The value
noErr
indicates that the operation was successful.DESCRIPTION
QuickDraw GX sends theGXPostScriptGetDocumentProcSetList
message when you send theGXImageDocument
message. TheGXPostScriptGetDocumentProcSetList
message gathers information on which procedure sets are needed to image a specified document.The default implementation of this message returns the procedure sets needed by the PostScript generic driver, the PostScript imaging engine, and the font handler. The set of procedure sets for all documents are typically the same: those that are specified in the imaging system's structure, as determined when the printer is initially queried. However, some documents might require special handling, which means additional procedure sets need to be downloaded.
You can then use the
GXPostScriptDownloadProcSetList
message to make these procedures available in the PostScript device.SPECIAL CONSIDERATIONS
You must forward theGXPostScriptGetDocumentProcSetList
message.RESULT CODES
gxSegmentLoadFailedErr A required code segment could not be found,
or there was not enough memory to load it.gxPrUserAbortErr The user has canceled printing. SEE ALSO
The PostScript procedure set list structure is described on page 4-29.The PostScript imaging system structure is described on page 4-26.
The
GXImageDocument
message is described on page 4-93.The
GXPostScriptDownloadProcSetList
message is described in the next section.An example of overriding the
GXPostScriptGetDocumentProcSetList
message is shown in Listing 4-2. This example downloads a procedure set that corrects a known bug in the PostScript implementation in the LaserWriter IIg and IIf printers.Listing 4-2 An example of the
GXPostScriptGetDocumentProcSetList
message
OSErr DriverGetDocumentProcSetList (gxProcSetListHdl procSetList, gxPostScriptImageDataHdl imageDataHdl) { OSErr anErr; anErr = Forward_GXPostScriptGetDocumentProcSetList( procSetList, imageDataHdl); if (anErr == noErr) { /* Send this proc set to the IIg or IIf, or for portable PostScript. */ if ( ((**imageDataHdl).renderOptions & gxPortablePostScriptOption) || (gPrinterType == kLWIIf) || (gPrinterType == kLWIIg) ) { SetHandleSize( (Handle) procSetList,GetHandleSize( (Handle) procSetList) + sizeOf(ProcSetListRec)); anErr == MemError(); if (anErr == noErr) { gxProcSetListPtr pList = (gxProcSetListPtr) ((unsigned long) (*procSetList) + GetHandleSize(Handle) procSetList) - sizeOf(gxProcSetListRec); pList->clientid = 'drvr'; pList->controlType = gxPostscriptProcSetControlType; pList->controlid = kFAndGShowPatch; pList->dataType = 'rdws'; } } } return(anErr); }
Main | Page One | What's New | Apple Computer, Inc. | Find It | Contact Us | Help